#ifndef _CLIENT_H_
#define _CLIENT_H_

#include <stdio.h>
#include <stdbool.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <pthread.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <time.h>
#include <errno.h>
#include <stdlib.h>
#include <stdint.h>
#include <signal.h>
#include <strings.h>
#include <semaphore.h>
#include <sys/mman.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <netdb.h>

#define EXIT_MASK "exit"
#define PRIVATE_CHAT "P_Chat"
#define WE_CHAT "W_Chat"
#define SHOW_WEATHER "S_Weat"
#define SHOW_ONLINE_CLI "ONLINE_Cli"
#define MAX_CLIENTS 10
#define BUFFER_SIZE 1024
#define IP_LEN 16
int EXIT_1; // 主动
int EXIT_2; // 被动

void *Receive_Online_Info(void *arg);
void *Receive_Forecast_Info(void *arg);
bool Broadcast_Task(int *cli_fd);
void *Send(void *arg);
void *Recv(void *arg);
bool Private_Task(int *cli_fd);
void *P_Send(void *arg);
void *P_Recv(void *arg);


#endif // _CLIENT_H_